home *** CD-ROM | disk | FTP | other *** search
/ Aminet 1 (Walnut Creek) / Aminet - June 1993 [Walnut Creek].iso / aminet / dev / lang / pcq12src.lzh / Runtime / System / Graphics / Blitter.asm < prev    next >
Assembly Source File  |  1990-11-24  |  3KB  |  174 lines

  1. *
  2. *    Blitter.asm of PCQ Pascal
  3. *    Copyright (c) 1990 Patrick Quaid
  4. *
  5. *    These are the glue routines for the procedures and functions
  6. *    defined in Include/Graphics/Blitter.i
  7. *
  8.  
  9.     SECTION PCQ_Runtime,CODE
  10.  
  11.     XREF    _GfxBase
  12.  
  13.     XREF    _LVOBltBitMap
  14.     XDEF    _BltBitMap
  15. _BltBitMap
  16.     movem.l    d2/d3/d4/d5/d6/d7,-(sp)
  17.     move.l    24+4(sp),a2
  18.     move.w    24+8(sp),d7
  19.     move.w    24+10(sp),d6
  20.     move.w    24+12(sp),d5
  21.     move.w    24+14(sp),d4
  22.     move.w    24+16(sp),d3
  23.     move.w    24+18(sp),d2
  24.     move.l    24+20(sp),a1
  25.     move.w    24+24(sp),d1
  26.     move.w    24+26(sp),d0
  27.     move.l    24+28(sp),a0
  28.     move.l    _GfxBase,a6
  29.     jsr    _LVOBltBitMap(a6)
  30.     movem.l    (sp)+,d2/d3/d4/d5/d6/d7
  31.     rts
  32.  
  33.     XREF    _LVOBltBitMapRastPort
  34.     XDEF    _BltBitMapRastPort
  35. _BltBitMapRastPort
  36.     movem.l    d2/d3/d4/d5/d6,-(sp)
  37.     move.w    20+4(sp),d6
  38.     move.w    20+6(sp),d5
  39.     move.w    20+8(sp),d4
  40.     move.w    20+10(sp),d3
  41.     move.w    20+12(sp),d2
  42.     move.l    20+14(sp),a1
  43.     move.w    20+18(sp),d1
  44.     move.w    20+20(sp),d0
  45.     move.l    20+22(sp),a0
  46.     move.l    _GfxBase,a6
  47.     jsr    _LVOBltBitMapRastPort(a6)
  48.     movem.l    (sp)+,d2/d3/d4/d5/d6
  49.     rts
  50.  
  51.  
  52.     XREF    _LVOBltClear
  53.     XDEF    _BltClear
  54. _BltClear
  55.     move.l    4(sp),d1
  56.     move.l    8(sp),d0
  57.     move.l    12(sp),a1
  58.     move.l    _GfxBase,a6
  59.     jmp    _LVOBltClear(a6)
  60.  
  61.  
  62.     XREF    _LVOBltMaskBitMapRastPort
  63.     XDEF    _BltMaskBitMapRastPort
  64. _BltMaskBitMapRastPort
  65.     movem.l    d2/d3/d4/d5/d6,-(sp)
  66.     move.l    20+4(sp),a2
  67.     move.w    20+8(sp),d6
  68.     move.w    20+10(sp),d5
  69.     move.w    20+12(sp),d4
  70.     move.w    20+14(sp),d3
  71.     move.w    20+16(sp),d2
  72.     move.l    20+18(sp),a1
  73.     move.w    20+22(sp),d1
  74.     move.w    20+24(sp),d0
  75.     move.l    20+26(sp),a0
  76.     move.l    _GfxBase,a6
  77.     jsr    _LVOBltMaskBitMapRastPort(a6)
  78.     movem.l    (sp)+,d2/d3/d4/d5/d6
  79.     rts
  80.  
  81.  
  82.     XDEF    _BltPattern
  83.     XREF    _LVOBltPattern
  84. _BltPattern
  85.     movem.l    d2/d3/d4,-(sp)
  86.     move.w    12+4(sp),d4
  87.     move.w    12+6(sp),d3
  88.     move.w    12+8(sp),d2
  89.     move.w    12+10(sp),d1
  90.     move.w    12+12(sp),d0
  91.     move.l    12+14(sp),a0
  92.     move.l    12+18(sp),a1
  93.     move.l    _GfxBase,a6
  94.     jsr    _LVOBltPattern(a6)
  95.     movem.l    (sp)+,d2/d3/d4
  96.     rts
  97.  
  98.  
  99.     XREF    _LVOBltTemplate
  100.     XDEF    _BltTemplate
  101. _BltTemplate
  102.     movem.l    d2/d3/d4/d5,-(sp)
  103.     move.w    16+4(sp),d5
  104.     move.w    16+6(sp),d4
  105.     move.w    16+8(sp),d3
  106.     move.w    16+10(sp),d2
  107.     move.l    16+12(sp),a1
  108.     move.w    16+16(sp),d1
  109.     move.w    16+18(sp),d0
  110.     move.l    16+20(sp),a0
  111.     move.l    _GfxBase,a6
  112.     jsr    _LVOBltTemplate(a6)
  113.     movem.l    (sp)+,d2/d3/d4/d5
  114.     rts
  115.  
  116.  
  117.     XREF    _LVOClipBlit
  118.     XDEF    _ClipBlit
  119. _ClipBlit
  120.     movem.l    d2/d3/d4/d5/d6,-(sp)
  121.     move.w    20+4(sp),d6
  122.     move.w    20+6(sp),d5
  123.     move.w    20+8(sp),d4
  124.     move.w    20+10(sp),d3
  125.     move.w    20+12(sp),d2
  126.     move.l    20+14(sp),a1
  127.     move.w    20+18(sp),d1
  128.     move.w    20+20(sp),d0
  129.     move.l    20+22(sp),a0
  130.     move.l    _GfxBase,a6
  131.     jsr    _LVOClipBlit(a6)
  132.     movem.l    (sp)+,d2/d3/d4/d5/d6
  133.     rts
  134.  
  135.  
  136.     XREF    _LVODisownBlitter
  137.     XDEF    _DisownBlitter
  138. _DisownBlitter
  139.     move.l    _GfxBase,a6
  140.     jmp    _LVODisownBlitter(a6)
  141.  
  142.  
  143.     XREF    _LVOOwnBlitter
  144.     XDEF    _OwnBlitter
  145. _OwnBlitter
  146.     move.l    _GfxBase,a6
  147.     jmp    _LVOOwnBlitter(a6)
  148.  
  149.  
  150.     XREF    _LVOQBlit
  151.     XDEF    _QBlit
  152. _QBlit
  153.     move.l    4(sp),a1
  154.     move.l    _GfxBase,a6
  155.     jmp    _LVOQBlit(a6)
  156.  
  157.  
  158.     XREF    _LVOQBSBlit
  159.     XDEF    _QBSBlit
  160. _QBSBlit
  161.     move.l    4(sp),a1
  162.     move.l    _GfxBase,a6
  163.     jmp    _LVOQBSBlit(a6)
  164.  
  165.  
  166.     XREF    _LVOWaitBlit
  167.     XDEF    _WaitBlit
  168. _WaitBlit
  169.     move.l    _GfxBase,a6
  170.     jmp    _LVOWaitBlit(a6)
  171.  
  172.  
  173.     END
  174.